package com.p1.Controller;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.p1.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import java.text.SimpleDateFormat;
import java.util.Date;

//上一种方法比较麻烦，如果项目中有许多请求则每一个都要添加，可以通过Spring配置统一指定，这样就不用每次都去处理了！
//我们可以在springmvc的配置文件上添加一段消息StringHttpMessageConverter转换配置！
@RestController//:这个注解会让这个类下面所有的方法都不会走视图解析器
public class UserController22 {
    @RequestMapping( "/j2")
     public String json1() throws JsonProcessingException {

        //ObjectMapper:创建一个jackson的对象映射器，用来解析数据
        ObjectMapper mapper=new ObjectMapper();

        //创建一个对象
        User user=new User("光头强",18,"男");

        String value = mapper.writeValueAsString(user);//能将数据解析为字符串向前台输出

        return value;
     }

    @RequestMapping( "/j3")
    public String json3() throws JsonProcessingException {

        //ObjectMapper:创建一个jackson的对象映射器，用来解析数据
        ObjectMapper mapper=new ObjectMapper();

        Date date=new Date();

       //ObjectMapper,时间解析后的默认格式为:Timestamp:时间戳也就是1970年1月1日到目前的秒数
        return mapper.writeValueAsString(date);
    }

    @RequestMapping( "/j4")
    public String json4() throws JsonProcessingException {

        //ObjectMapper:创建一个jackson的对象映射器，用来解析数据
        ObjectMapper mapper=new ObjectMapper();

        Date date=new Date();
        //利用java方法更改日期时间的格式
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s = mapper.writeValueAsString(sdf.format(date));

        return s;
    }

}
